﻿namespace SourceCodeRepository.Model
{
    using System;
    using Common.Interfaces.Model;

    /// <summary>
    /// This class represents the code snippet.
    /// </summary>
    [Serializable]
    public class CodeSnippet : IDomainObject
    {
        /// <summary>
        /// Gets or sets the id of the domain object.
        /// </summary>
        /// <value>The id of the domain object.</value>
        public virtual int Id
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the language.
        /// </summary>
        /// <value>The language.</value>
        public Language Language
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the snippet text.
        /// </summary>
        /// <value>The snippet text.</value>
        public virtual string SnippetText 
        { 
            get; 
            set; 
        }

        /// <summary>
        /// Gets or sets the contributor of the code snippet.
        /// </summary>
        /// <value>The contributor.</value>
        public Contributor Contributor
        {
            get;
            set;
        }
    }
}